package com.xian.d6_innerclass;

/**
 * 什么是成员内部类?
 * 无static修饰，属于外部类的对象。
 * JDK16之前，成员内部类中不能定义静态成员，JDK 16开始也可以定义静态成员了。
 * public class outer {
 * //成员内部类
 * public class Inner {
 *
 * 成员内部类创建对象的格式:
 * 格式:外部类名.内部类名 对象名=new 外部类构造器.new 内部类构造器();
 * 范例:Outer.Inner in = new Outer().new Inner();
 *
 * 1、成员内部类中是否可以直接访问外部类的静态成员?
 * ·可以，外部类的静态成员只有一份可以被共享访问。
 * 2、成员内部类的实例方法中是否可以直接访问外部类的实例成员?
 * 可以的，因为必须先有外部类对象，才能有成员内部类对象，所以可以直接访问外部类对象的实例成员。
 *
 * 1．成员内部类是什么样的、有什么特点?
 * 无static修饰，属于外部类的对象。
 * ●可以直接访问外部类的静态成员，实例方法中可以直接访问外部类的实例成员。
 * 2．成员内部类如何创建对象?
 * ●外部类名.内部类名对象名=new外部类构造器.new内部类构造器();
 */
public class Test {
    public static void main(String[] args) {
        Outer.Inner in = new Outer().new Inner();
        in.setName("小贤");
        in.show();
//        Outer.Inner.test();
    }
}
